Add editor setting for instantiated scenes to have editable children by default#70947
Add editor setting for instantiated scenes to have editable children by default#70947realkotob wants to merge 1 commit intogodotengine:masterfrom
Conversation
fc8ca0d to
d227998
Compare
d227998 to
0980ce7
Compare
|
@realkotob this looks great - are you still maintaining it or is it abandoned though? |
0980ce7 to
be5271a
Compare
KoBeWi
left a comment
There was a problem hiding this comment.
The implementation looks fine.
Could use a review from usability team. Also I wonder if the setting shouldn't appear in the Scene dock's options menu, next to other tree-related settings.
|
Isn't the linked proposal better addressed by #84018? The proposal mentions that scene clutter is an issue, which this checkbox won't solve, and it only suggests adding this checkbox as a solution to the problem of having to right click editable children all the time, which #84018 does solve because exposed nodes are visible in the tree |
2b14676 to
117d66b
Compare
|
@passivestar I just saw that PR and I agree that it is a good contribution, but I still have a concern about that PR. First of all, the number of clicks required for quick iteration will increase instead of decrease after #84018 is merged, because instead of just right clicking to making all nodes exposable by default as we can now, I would have to select which ones I want to expose. Even in the best case if there is an "Expose All" button that is still 3 additional, extra clicks: open panel, press expose all, save & close. So that means even after that feature is merged, it would be nice to have an editor setting that automatically makes all nodes exposed by default, then users can then go into that scene to de-select which nodes are exposed when they want to get more control and tidy up the view. If this PR is merged (and I think it should, because it makes life much easier), then it can be re-purposed later to have the same purpose but affect the new Exposed Nodes feature. Edit: Similar concern voiced by AdriaandeJongh here #84018 (comment) |
117d66b to
0c2ebe2
Compare
|
The point of that PR is not to reduce the number of clicks, but to promote encapsulation and minimize scene tree clutter. The number of cases where I'd want all the nodes of scene to be editable is close to zero. I don't mind this PR being merged, just as an option, but I sincerely hope we don't get this in place of #84018. |
no worries! these two PRs are not mutually exclusive at all. |
|
@Nikola526 Yes I also hope both PRs get merged, as they really address different modes/phases of development. Sometimes you want to just have everything editable by default (game jams, quick prototypes) and sometimes you want to be very explicit about what you are exposing (during production, working in teams, etc). This is similar to the difference between using static typing in godot or not: sometimes you just want to get things moving, other times you care about correctness. As mentioned above, the ideal scenario is that #84018 gets merged and we get to pick to have everything exposed by default when a node is set as editable, and then we can override that to select which ones we want to keep exposed (so that new added nodes in that scene do not get automatically exposed as well). |
Part of the usability changes for godotengine/godot-proposals#3248
I added a new editor setting that is disabled by default, so this is entirely opt-in.
I added code for this in 3 places, so that it would work with the Instantiate button, with dragging into the scene tree, and with dragging into the viewport.
2023-01-05.14-44-47.mp4
Let me know what you think, I am open to feedback.